package com.hlkj.pay.vo.merchant.req.access;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import javax.validation.constraints.NotEmpty;

import com.hlkj.framework.common.valid.EnumValid;
import com.hlkj.framework.common.valid.HlkjDateValid;
import com.hlkj.pay.enums.CommonEnum;
import com.hlkj.pay.vo.BaseReq;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
 * @author HlpayTeam
 * @date 2024/10/15 9:11
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class MerchantReportCertReq extends BaseReq {
	
	/**
	 * 名称
	 */
	@Schema(description ="名称")
	@NotEmpty(message = "名称 不能为空")
	private String name;
	/**
	 * 手机号
	 */
	@Schema(description ="手机号")
	private String phone;
	/**
	 * 地址
	 */
	@Schema(description ="地址")
	@NotEmpty(message = "地址 不能为空")
	private String address;
	@Schema(description ="证件类型 字典接口通过 dictKey=certType获取")
	@NotEmpty(message = "证件类型 不能为空")
	private String certType;
	/**
	 * 身份证号码
	 */
	@Schema(description ="身份证号码")
	@NotEmpty(message = "身份证号码 不能为空")
	private String certNo;
	/**
	 * 证件有效期类型 1：长期有效；0：非长期有效 
	 */
	@Schema(description ="证件有效期类型 1：长期有效；0：非长期有效 ")
	@EnumValid(value = CommonEnum.YES_NO_TYPE.class,message = "证件有效期类型 无效")
	private Integer certValidityType;
	/**
	 * 有效期开始日期
	 */
	@Schema(description ="有效期开始日期")
	@HlkjDateValid(message = "有效期开始日期 格式非yyyy-MM-dd")
	@NotEmpty(message = "有效期开始日期 不能为空")
	private String certBeginDate;
	/**
	 * 有效期截止日期
	 */
	@Schema(description ="有效期截止日期")
	@HlkjDateValid(message = "有效期截止日期 格式非yyyy-MM-dd")
	private String certEndDate;
	
	/**
	 * 身份证正面url
	 */
	@Schema(description ="身份证正面")
	private String certFrontUrl;
	/**
	 * 身份证反面url
	 */
	@Schema(description ="身份证反面")
	private String certBackUrl;
	/**
	 * 联系人邮箱
	 */
	@Schema(description = "联系人邮箱")
	@NotEmpty(message = "联系人邮箱 不能为空")
	private String email;
}
